package com.atguigu.ssyx.cart.service;

import com.atguigu.ssyx.model.order.CartInfo;

import java.util.List;

/**
 * ClassName: CartInfoService
 * Package: com.atguigu.ssyx.cart.service
 * Description:
 *
 * @Author: 比特张
 * @Create: 2023/7/28 - 9:18
 * @Version: v1.0
 */
public interface CartInfoService {

    void batchDeleteCart(List<Long> skuIdList, Long userId);

    void deleteAllCart(Long userId);

    void deleteCart(Long skuId, Long userId);

    // 添加购物车 用户Id，商品Id，商品数量
    void addToCart(Long skuId, Long userId, Integer skuNum);

    List<CartInfo> getCartList(Long userId);

    //更新选中状态
    void checkCart(Long userId, Integer isChecked, Long skuId);

    void checkAllCart(Long userId, Integer isChecked);

    void batchCheckCart(List<Long> skuIdList, Long userId, Integer isChecked);

    //根据用户Id 查询购物车列表
    List<CartInfo> getCartCheckedList(Long userId);

    //根据userId删除选中购物车记录
    void deleteCartChecked(Long userId);
}
